<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>[Generic Component Framework v3] GCF::IpcCall Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<!--link href="tabs.css" rel="stylesheet" type="text/css"-->
</head><body>
 <div id="wrapper">
    <div id="logo_box">
        <a class="img_link" href="https://github.com/pnudupa/gcf" target="_blank" ><img style="float:left;margin-left:10px;margin-top:5px;margin-bottom:5px;"src="header_gcf_logo.jpg" alt="GCF LOGO"/></a>
        <a class="img_link" href="https://www.vcreatelogic.com/" target="_blank" ><img style="float:right;margin-right:10px; margin-top: 30px;" src="header_vcl_logo.jpg" alt="VCL LOGO"/></a>
        <div style="clear:both"></div>
    </div>
    <div class="nav">
        <ul>
            <li class="selectedpage">
                <a class="a-home" href="index.html" >
                    <span>Home</span>
                </a>
            </li>
            <li>
                <a class="a-classes " href="classes.html">
                    <span>All Classes</span>
                </a>
            </li>
            <li>
                <a class="a-home " href="gcf_modules.html">
                    <span>Modules</span>
                </a>
            </li>
            <li>
                <a class="a-home " href="gcf_guides_and_videos.html">
                    <span>Guides & Videos</span>
                </a>
            </li>
            <li>
                <a class="a-home " href="gcf_tools_and_inbuilt_components.html">
                    <span>Tools & Components</span>
                </a>
            </li>
        </ul>
    </div>
    <div id="main-content">
        <div class="inside">
        <div>
<!-- Generated by Doxygen 1.8.16 -->
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><b>GCF</b></li><li class="navelem"><a class="el" href="class_g_c_f_1_1_ipc_call.html">IpcCall</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#signals">Signals</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="class_g_c_f_1_1_ipc_call-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">GCF::IpcCall Class Reference<div class="ingroups"><a class="el" href="group__gcf__ipc.html">IPC module in GCF</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Make calls on methods in a remote object.  
 <a href="class_g_c_f_1_1_ipc_call.html#details">More...</a></p>

<p><code>#include &lt;GCF3/IpcCall&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="signals"></a>
Signals</h2></td></tr>
<tr class="memitem:a28507c541b6a72544e85430e7399423a"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_ipc_call.html#a28507c541b6a72544e85430e7399423a">done</a> (bool success)</td></tr>
<tr class="separator:a28507c541b6a72544e85430e7399423a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad69b8b06d207686d4b3c9bb4144ef3eb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_ipc_call.html#ad69b8b06d207686d4b3c9bb4144ef3eb">IpcCall</a> (const QHostAddress &amp;addr, quint16 <a class="el" href="class_g_c_f_1_1_ipc_call.html#af4446811dd29398973da7d98467502b6">port</a>, const QString &amp;<a class="el" href="class_g_c_f_1_1_ipc_call.html#a95f1a45a37ae0765fb2e3b926a0ee011">object</a>, const QString &amp;<a class="el" href="class_g_c_f_1_1_ipc_call.html#a6158524dadfa3f47451c712a67583ef6">method</a>, const QVariantList &amp;<a class="el" href="class_g_c_f_1_1_ipc_call.html#a8d7c25db05a0e14f3116c0fabd003cd4">arguments</a>, QObject *parent=nullptr)</td></tr>
<tr class="separator:ad69b8b06d207686d4b3c9bb4144ef3eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a9b7aec0f050a9c6d28e499cd4b7aca"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_ipc_call.html#a4a9b7aec0f050a9c6d28e499cd4b7aca">~IpcCall</a> ()</td></tr>
<tr class="separator:a4a9b7aec0f050a9c6d28e499cd4b7aca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a456a3c85a287d9c84ffc51961db20519"><td class="memItemLeft" align="right" valign="top">QHostAddress&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_ipc_call.html#a456a3c85a287d9c84ffc51961db20519">address</a> () const</td></tr>
<tr class="separator:a456a3c85a287d9c84ffc51961db20519"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4446811dd29398973da7d98467502b6"><td class="memItemLeft" align="right" valign="top">quint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_ipc_call.html#af4446811dd29398973da7d98467502b6">port</a> () const</td></tr>
<tr class="separator:af4446811dd29398973da7d98467502b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95f1a45a37ae0765fb2e3b926a0ee011"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_ipc_call.html#a95f1a45a37ae0765fb2e3b926a0ee011">object</a> () const</td></tr>
<tr class="separator:a95f1a45a37ae0765fb2e3b926a0ee011"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6158524dadfa3f47451c712a67583ef6"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_ipc_call.html#a6158524dadfa3f47451c712a67583ef6">method</a> () const</td></tr>
<tr class="separator:a6158524dadfa3f47451c712a67583ef6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d7c25db05a0e14f3116c0fabd003cd4"><td class="memItemLeft" align="right" valign="top">QVariantList&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_ipc_call.html#a8d7c25db05a0e14f3116c0fabd003cd4">arguments</a> () const</td></tr>
<tr class="separator:a8d7c25db05a0e14f3116c0fabd003cd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e7330c0d44e155cffb20eae149b03dd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_ipc_call.html#a5e7330c0d44e155cffb20eae149b03dd">isDone</a> () const</td></tr>
<tr class="separator:a5e7330c0d44e155cffb20eae149b03dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01ec6517cce5938edd32aafaeb3ff711"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_ipc_call.html#a01ec6517cce5938edd32aafaeb3ff711">isSuccess</a> () const</td></tr>
<tr class="separator:a01ec6517cce5938edd32aafaeb3ff711"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a895b648f5336c08000a11fc6da5853f4"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_ipc_call.html#a895b648f5336c08000a11fc6da5853f4">errorMessage</a> () const</td></tr>
<tr class="separator:a895b648f5336c08000a11fc6da5853f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d7bbd1eba2b62c31f1347b66916651e"><td class="memItemLeft" align="right" valign="top">QVariant&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_ipc_call.html#a5d7bbd1eba2b62c31f1347b66916651e">result</a> () const</td></tr>
<tr class="separator:a5d7bbd1eba2b62c31f1347b66916651e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01618782e9db038d786a817480bb846b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_ipc_call.html#a01618782e9db038d786a817480bb846b">setTimeoutDuration</a> (int val)</td></tr>
<tr class="separator:a01618782e9db038d786a817480bb846b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a349d14008368c3bc7f065a45d8c5d3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_ipc_call.html#a5a349d14008368c3bc7f065a45d8c5d3">waitForDone</a> ()</td></tr>
<tr class="separator:a5a349d14008368c3bc7f065a45d8c5d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48b6a5e830e75f3fccfe912200aa031a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_ipc_call.html#a48b6a5e830e75f3fccfe912200aa031a">setAutoDelete</a> (bool val)</td></tr>
<tr class="separator:a48b6a5e830e75f3fccfe912200aa031a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7b316c0a4ff2e2d4aea0ff83d75f8ae"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_ipc_call.html#ad7b316c0a4ff2e2d4aea0ff83d75f8ae">isAutoDelete</a> () const</td></tr>
<tr class="separator:ad7b316c0a4ff2e2d4aea0ff83d75f8ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>You can use this class to asynchronously invoke a service method on a remote object and respond to its result when signalled. Each instance of this class can be used to make only one service call. Example</p>
<div class="fragment"><div class="line">QHostAddress addr = ...;</div>
<div class="line">quint16 <a class="code" href="class_g_c_f_1_1_ipc_call.html#af4446811dd29398973da7d98467502b6">port</a> = ...;</div>
<div class="line"><a class="code" href="class_g_c_f_1_1_ipc_call.html">GCF::IpcCall</a> *call = <span class="keyword">new</span> <a class="code" href="class_g_c_f_1_1_ipc_call.html">GCF::IpcCall</a>(addr, <a class="code" href="class_g_c_f_1_1_ipc_call.html#af4446811dd29398973da7d98467502b6">port</a>, <span class="stringliteral">&quot;Application.MyService&quot;</span>,</div>
<div class="line">            <span class="stringliteral">&quot;method1&quot;</span>, QVariantList() &lt;&lt; ... &lt;&lt; ...);</div>
<div class="line">connect(call, SIGNAL(<a class="code" href="class_g_c_f_1_1_ipc_call.html#a28507c541b6a72544e85430e7399423a">done</a>(<span class="keywordtype">bool</span>)), ..., SLOT(callDone(<span class="keywordtype">bool</span>)));</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span> abcd::callDone(<span class="keywordtype">bool</span> val) {</div>
<div class="line">    <a class="code" href="class_g_c_f_1_1_ipc_call.html">GCF::IpcCall</a> *call = qobject_cast&lt;GCF::IpcCall *&gt;(this-&gt;sender());</div>
<div class="line">    <span class="keywordflow">if</span>(val) {</div>
<div class="line">        QVariant <a class="code" href="class_g_c_f_1_1_ipc_call.html#a5d7bbd1eba2b62c31f1347b66916651e">result</a> = call-&gt;<a class="code" href="class_g_c_f_1_1_ipc_call.html#a5d7bbd1eba2b62c31f1347b66916651e">result</a>();</div>
<div class="line">    } <span class="keywordflow">else</span> {</div>
<div class="line">        QString errMsg = call-&gt;<a class="code" href="class_g_c_f_1_1_ipc_call.html#a895b648f5336c08000a11fc6da5853f4">errorMessage</a>();</div>
<div class="line">        <span class="comment">// Display errMsg</span></div>
<div class="line">    }</div>
<div class="line">}</div>
</div><!-- fragment --> </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ad69b8b06d207686d4b3c9bb4144ef3eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad69b8b06d207686d4b3c9bb4144ef3eb">&#9670;&nbsp;</a></span>IpcCall()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GCF::IpcCall::IpcCall </td>
          <td>(</td>
          <td class="paramtype">const QHostAddress &amp;&#160;</td>
          <td class="paramname"><em>addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">quint16&#160;</td>
          <td class="paramname"><em>port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const QString &amp;&#160;</td>
          <td class="paramname"><em>object</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const QString &amp;&#160;</td>
          <td class="paramname"><em>method</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const QVariantList &amp;&#160;</td>
          <td class="paramname"><em>args</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">QObject *&#160;</td>
          <td class="paramname"><em>parent</em> = <code>nullptr</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Constructor</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">addr</td><td>address of the computer where the remote application is running </td></tr>
    <tr><td class="paramname">port</td><td>port number on which the remote application's <a class="el" href="class_g_c_f_1_1_ipc_server.html">GCF::IpcServer</a> is listening </td></tr>
    <tr><td class="paramname">object</td><td>name of the object that contains the <code>method</code> </td></tr>
    <tr><td class="paramname">method</td><td>service method that needs to be invoked </td></tr>
    <tr><td class="paramname">args</td><td>list of arguments that the method accepts </td></tr>
    <tr><td class="paramname">parent</td><td>a <code>QObject</code> that would become the parent of this class</td></tr>
  </table>
  </dd>
</dl>
<p>By the time the constructor returns, the call will have been scheduled. </p>

</div>
</div>
<a id="a4a9b7aec0f050a9c6d28e499cd4b7aca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a9b7aec0f050a9c6d28e499cd4b7aca">&#9670;&nbsp;</a></span>~IpcCall()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GCF::IpcCall::~IpcCall </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Destructor </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a456a3c85a287d9c84ffc51961db20519"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a456a3c85a287d9c84ffc51961db20519">&#9670;&nbsp;</a></span>address()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QHostAddress GCF::IpcCall::address </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>address of the computer on which the remote application is running </dd></dl>

</div>
</div>
<a id="af4446811dd29398973da7d98467502b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4446811dd29398973da7d98467502b6">&#9670;&nbsp;</a></span>port()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">quint16 GCF::IpcCall::port </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>port number of the remote application's <a class="el" href="class_g_c_f_1_1_ipc_server.html">GCF::IpcServer</a> </dd></dl>

</div>
</div>
<a id="a95f1a45a37ae0765fb2e3b926a0ee011"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95f1a45a37ae0765fb2e3b926a0ee011">&#9670;&nbsp;</a></span>object()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QString GCF::IpcCall::object </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>name of the object whose method this class is calling </dd></dl>

</div>
</div>
<a id="a6158524dadfa3f47451c712a67583ef6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6158524dadfa3f47451c712a67583ef6">&#9670;&nbsp;</a></span>method()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QString GCF::IpcCall::method </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>name of the service method that is being called </dd></dl>

</div>
</div>
<a id="a8d7c25db05a0e14f3116c0fabd003cd4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d7c25db05a0e14f3116c0fabd003cd4">&#9670;&nbsp;</a></span>arguments()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QVariantList GCF::IpcCall::arguments </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>list of arguments passed to the service method </dd></dl>

</div>
</div>
<a id="a5e7330c0d44e155cffb20eae149b03dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e7330c0d44e155cffb20eae149b03dd">&#9670;&nbsp;</a></span>isDone()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool GCF::IpcCall::isDone </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if the call has been sent and the response has been received. False otherwise </dd></dl>

</div>
</div>
<a id="a01ec6517cce5938edd32aafaeb3ff711"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01ec6517cce5938edd32aafaeb3ff711">&#9670;&nbsp;</a></span>isSuccess()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool GCF::IpcCall::isSuccess </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if the call was successfully made and response was received with no error. False otherwise. </dd></dl>

</div>
</div>
<a id="a895b648f5336c08000a11fc6da5853f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a895b648f5336c08000a11fc6da5853f4">&#9670;&nbsp;</a></span>errorMessage()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QString GCF::IpcCall::errorMessage </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>if <a class="el" href="class_g_c_f_1_1_ipc_call.html#a01ec6517cce5938edd32aafaeb3ff711">isSuccess()</a> returns false, then this function returns an error message describing what went wrong. </dd></dl>

</div>
</div>
<a id="a5d7bbd1eba2b62c31f1347b66916651e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d7bbd1eba2b62c31f1347b66916651e">&#9670;&nbsp;</a></span>result()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QVariant GCF::IpcCall::result </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>value returned by the remote method. If the remote method returned a <a class="el" href="class_g_c_f_1_1_result.html">GCF::Result</a>, then the value returned by this function would be the data ( <a class="el" href="class_g_c_f_1_1_result.html#ac76e6791e114ef677e4c0a867597fb68">GCF::Result::data()</a> ) component of the <a class="el" href="class_g_c_f_1_1_result.html">GCF::Result</a>. </dd></dl>

</div>
</div>
<a id="a01618782e9db038d786a817480bb846b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01618782e9db038d786a817480bb846b">&#9670;&nbsp;</a></span>setTimeoutDuration()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void GCF::IpcCall::setTimeoutDuration </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets a timeout interval, afterwhich the call is considered to have failed. If no timeout is set, then a default value of 10 seconds is used.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">val</td><td>timeout in milliseconds </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a5a349d14008368c3bc7f065a45d8c5d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a349d14008368c3bc7f065a45d8c5d3">&#9670;&nbsp;</a></span>waitForDone()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool GCF::IpcCall::waitForDone </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Blocks until the <a class="el" href="class_g_c_f_1_1_ipc_call.html#a28507c541b6a72544e85430e7399423a">done()</a> signal is emitted or timeout </p><dl class="section return"><dt>Returns</dt><dd>true if the call was successful, false otherwise. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>The call will not freeze any UI while waiting </dd></dl>

</div>
</div>
<a id="a48b6a5e830e75f3fccfe912200aa031a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48b6a5e830e75f3fccfe912200aa031a">&#9670;&nbsp;</a></span>setAutoDelete()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void GCF::IpcCall::setAutoDelete </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Configures the call enable/disable self-deletion after emitting <a class="el" href="class_g_c_f_1_1_ipc_call.html#a28507c541b6a72544e85430e7399423a">done()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">val</td><td>if true, the call will delete itself after emiting <a class="el" href="class_g_c_f_1_1_ipc_call.html#a28507c541b6a72544e85430e7399423a">done()</a></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>if the <a class="el" href="class_g_c_f_1_1_ipc_call.html#a5e7330c0d44e155cffb20eae149b03dd">isDone()</a> returns true, then the function is a no-op. </dd></dl>

</div>
</div>
<a id="ad7b316c0a4ff2e2d4aea0ff83d75f8ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7b316c0a4ff2e2d4aea0ff83d75f8ae">&#9670;&nbsp;</a></span>isAutoDelete()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool GCF::IpcCall::isAutoDelete </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if the call would delete itself after emitting <a class="el" href="class_g_c_f_1_1_ipc_call.html#a28507c541b6a72544e85430e7399423a">done()</a> </dd></dl>

</div>
</div>
<a id="a28507c541b6a72544e85430e7399423a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28507c541b6a72544e85430e7399423a">&#9670;&nbsp;</a></span>done</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void GCF::IpcCall::done </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>success</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">signal</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This signal is emitted after the call is done. The <code>success</code> parameter is true if the call was successfuly invoked and encountered no error. </p>

</div>
</div>
</div><!-- contents -->
<div class="ttc" id="aclass_g_c_f_1_1_ipc_call_html_a895b648f5336c08000a11fc6da5853f4"><div class="ttname"><a href="class_g_c_f_1_1_ipc_call.html#a895b648f5336c08000a11fc6da5853f4">GCF::IpcCall::errorMessage</a></div><div class="ttdeci">QString errorMessage() const</div><div class="ttdef"><b>Definition:</b> IpcCall.cpp:202</div></div>
<div class="ttc" id="aclass_g_c_f_1_1_ipc_call_html_a28507c541b6a72544e85430e7399423a"><div class="ttname"><a href="class_g_c_f_1_1_ipc_call.html#a28507c541b6a72544e85430e7399423a">GCF::IpcCall::done</a></div><div class="ttdeci">virtual void done(bool success)</div></div>
<div class="ttc" id="aclass_g_c_f_1_1_ipc_call_html_a5d7bbd1eba2b62c31f1347b66916651e"><div class="ttname"><a href="class_g_c_f_1_1_ipc_call.html#a5d7bbd1eba2b62c31f1347b66916651e">GCF::IpcCall::result</a></div><div class="ttdeci">QVariant result() const</div><div class="ttdef"><b>Definition:</b> IpcCall.cpp:212</div></div>
<div class="ttc" id="aclass_g_c_f_1_1_ipc_call_html_af4446811dd29398973da7d98467502b6"><div class="ttname"><a href="class_g_c_f_1_1_ipc_call.html#af4446811dd29398973da7d98467502b6">GCF::IpcCall::port</a></div><div class="ttdeci">quint16 port() const</div><div class="ttdef"><b>Definition:</b> IpcCall.cpp:152</div></div>
<div class="ttc" id="aclass_g_c_f_1_1_ipc_call_html"><div class="ttname"><a href="class_g_c_f_1_1_ipc_call.html">GCF::IpcCall</a></div><div class="ttdoc">Make calls on methods in a remote object.</div><div class="ttdef"><b>Definition:</b> IpcCall.h:44</div></div>
</div>
</div>
</div>
<div class="footer_content">
<table width="100%" class="footer">
<tr>
<td align="left" width="50%">Copyright &copy; 2013-2019,
 <a class="el" href="http://www.vcreatelogic.com" target="_black">VCreate Logic Private Limited</a></td>
<td align="right" width="50%"><a class="el" href="http://www.vcreatelogic.com/products/gcf" target="_black">GCF - Generic Component Framework</a></td>
</tr>
</table>
</div>
</div>
</body>
</html>
